package com.zz.inventory.mapper;

import java.util.List;
import com.zz.inventory.domain.ExperimentScenarios;
import com.zz.inventory.domain.ExperimentScenariosWithPurchase;
import org.apache.ibatis.annotations.Param;

/**
 * 实验场景信息Mapper接口
 * 
 * @author ruoyi
 * @date 2025-07-01
 */
public interface ExperimentScenariosMapper 
{
    /**
     * 查询实验场景信息
     * 
     * @param scenarioId 实验场景信息主键
     * @return 实验场景信息
     */
    public ExperimentScenarios selectExperimentScenariosByScenarioId(Long scenarioId);

    /**
     * 查询实验场景信息列表
     * 
     * @param experimentScenarios 实验场景信息
     * @return 实验场景信息集合
     */
    public List<ExperimentScenarios> selectExperimentScenariosList(ExperimentScenarios experimentScenarios);

    /**
     * 新增实验场景信息
     * 
     * @param experimentScenarios 实验场景信息
     * @return 结果
     */
    public int insertExperimentScenarios(ExperimentScenarios experimentScenarios);

    /**
     * 修改实验场景信息
     * 
     * @param experimentScenarios 实验场景信息
     * @return 结果
     */
    public int updateExperimentScenarios(ExperimentScenarios experimentScenarios);

    /**
     * 删除实验场景信息
     * 
     * @param scenarioId 实验场景信息主键
     * @return 结果
     */
    public int deleteExperimentScenariosByScenarioId(Long scenarioId);

    /**
     * 批量删除实验场景信息
     * 
     * @param scenarioIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteExperimentScenariosByScenarioIds(Long[] scenarioIds);

    List<ExperimentScenariosWithPurchase> selectValidPurchasedScenariosBySchoolId(@Param("schoolsId") Long schoolsId);
}
